package Work20241108;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author zdl
 * @date 2024/11/8
 */
public class Demo4 {
    public static void main(String[] args) {
        /**
         * 给定一个数组，传入一个数字，如果在数组中存在这个数字，
         * 返回这个数字在数组中的下标，否则返回-1    (根据数据找下标)
         *  考虑如果是多个重复的值
         */
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数：");
        int n = sc.nextInt();
        int[] arr = {1,2,3,2,4};
        if (n > arr.length || n<0){
            System.out.println("-1");
        }else {
            /** n=2
             *  i=0 0<5 true if(2==arr[0]) false i++
             *  i=1 1<5 true if(2==arr[1]) true indexs[0] = 1 i++
             *  ...
             *  i=3 3<5 true if(2==arr[3]) true indexs[1]= 3 i++
             *  ....
             */
            int[] indexs = new int[arr.length];  //接收指定元素的数组
            int count = 0;
            for (int i = 0; i < arr.length; i++) {
                if (n == arr[i]){
                    indexs[count++] = i;
                }
            }
            int[] new_arr = new int[count]; //从指定元素的数组中取值
            for (int i = 0; i < new_arr.length; i++) {
                new_arr[i] = indexs[i];
            }
            System.out.println(Arrays.toString(new_arr));

            }

        }
    }

